目前對於Transformation應該有基本的認識了,後續的文章會開始介紹我自己常使用的Steps,如何設計Steps與進行資料分析與整合就是重頭戲了,歡迎大家一起操作,有問題歡迎一起討論喔!
在[Steps與Hops基本操作]篇,已經介紹了[Flow]Dummy,接著要來認識這幾天在預設範例出現率很高的[Input]CSV file input,[ ]裡面的文字是代表這個Step是屬於哪個資料夾,今天就透過CSV file input來了解一下所謂ETL(Extract-Transform-Load)中的Extract(萃取),在做資料整合之前,一定是要有資料來源我們才能做處理,所以Input資料夾中有支援讀取很多各式各樣的檔案格式,讓我們方便輕鬆的把不同檔案格式的資料匯入(萃取)Transformation中,並調整成同一種格式來呈現資料(也就是Kettle的命名由來,希望資料跟水壺一樣,將各種資料倒入壺中,最後以一種格式倒出),所以無論是讀取哪種檔案格式,在後續的Steps設計中,都不需要再做其它的設定。
先來瀏覽一下Transformation提供的Input資料夾有哪些Steps,提供了非常非常多,我自己經常使用到的是Table Input與Microsoft Excel Input,後續會介紹到
接著就開始今天的重點囉!
此Step提供讀取含有分隔符號的檔案,這邊的分隔服號可以是自己的需求而定,可以是分號、逗號或者是空白。此預設範例(CSV Input - Reading customer data.ktr)所讀取檔案(customers-100.txt)中就是使用;號來區隔資料
首先先增新一個Transformation,並且切換到Design頁籤,選擇Input資料夾下的CSV file input,點選之後使用滑鼠左鍵拖曳到我們的主要編輯區中,不熟的人可以在複習一下[Steps與Hops基本操作]篇,完成之後請儲存Transformation
這邊的檔案可能是別人提供給你的,但此篇我們就自己動手做一份資料吧!你可以自行定義要分隔的符號,下圖是以,號區隔
使用滑鼠左鍵雙擊CSV file input,會出現設定視窗,或是在CSV file input上按右鍵選擇Edit也可以
1.先選取要讀取的檔案
2.設定檔案中使用的分隔符號
3.按下Get Fields會進行掃描,取得並加入第一列的欄位名稱,此時會發現下面竟然有亂碼...
莫急莫慌,變更一下編碼的方式,選擇檔案所使用的編碼方式,然後再按下Get Fields,就一切正常了,我們可以觀察到下面的欄位連資料型態都幫我們定義好了,十分的聰明!
如果想要調整資料型態也是可以的喔
接著按下Preview按鈕就可以預覽取得的資料
另外再補充一下Header row present?的設定,如果你的檔案的第一行有包含欄位名稱的定義請勾選此項目,像今天我們自製的讀取檔案的第一行就有定義欄位名稱,所以要打勾。
以上的操作是不是很簡單呢!一行程式都不用寫,滑鼠點一點就可以囉!
下一篇將介紹讀取Excel的Step